/****************************************************
	文件：TimerExample.cs
	作者：HuskyT
	邮箱：1005240602@qq.com
	日期：2020/10/11 11:42:48
	功能：计时器使用例子
*****************************************************/

using System;
using UnityEngine;

namespace HTUtility
{
    public class TimerExample : MonoBehaviour
    {
        private int mTimerId;

        private void Start()
        {
            HTLoggerInstaller.Instance.Install();

            //初始化计时器
            UTimer.Instance.Init();
        }
        private void Update()
        {
            //接入计时器帧函数
            UTimer.Instance.OnUpdate();

            //计时任务测试：
            if (Input.GetKeyDown(KeyCode.Q)) //添加
            {
                mTimerId = UTimer.Instance.AddTimeTask((id) =>
                {
                    HTLogger.Debug("id：{0}", id);
                }, 3, TimeUnit.Second, 0);
            }
            if (Input.GetKeyDown(KeyCode.A)) //移除
            {
                UTimer.Instance.RemoveTimeTask(mTimerId);
            }
            if (Input.GetKeyDown(KeyCode.Z)) //替换
            {
                if (UTimer.Instance.ReplaceTimeTask(mTimerId, (id) =>
                 {
                     HTLogger.Debug("替换后，id：{0}", id);
                 }, 5, TimeUnit.Second, 2))
                {
                    HTLogger.Debug("替换计时任务成功");
                }
            }
        }
    }
}
